package com.anhry.app.safety.manage.enterprise.service;

import java.util.List;

import com.anhry.app.safety.manage.enterprise.bean.TbCorpInfo;
import com.anhry.app.safety.manage.enterprise.bean.TbCorpPerson;
import com.anhry.app.safety.manage.enterprise.bean.TbCorpType;
import com.anhry.app.safety.manage.system.bean.TbUser;

/**
 * @date:Jun 19, 2012
 * @remark:
 * @author:dongbin
 */
public interface EnterpriseService {
	
	/**
	 * 取得企业列表
	 * @param hql
	 * @param orderBy
	 * @param start
	 * @param count
	 * @return
	 * @throws Exception
	 */
	public List getCorpList(String hql,String orderBy, int start, int count)throws Exception;
	
	/**
	 * 根据用户取得属地信息列表
	 * @param deptList
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public List getSdList(List deptList,TbUser user)throws Exception;
	
	/**
	 * 根据用户取得该用户应监管的企业类型
	 * @param user
	 * @return
	 * @throws Exception
	 */
	public List getTypeList(TbUser user)throws Exception;
	
	/**
	 * 根据企业名称取得企业信息
	 * @param corpName
	 * @return
	 * @throws Exception
	 */
	public TbCorpInfo getCorpByCorpName(String corpId,String corpName)throws Exception;
	
	/**
	 * 是否存在该工商号
	 * @param corpId
	 * @param gsCode
	 * @return
	 * @throws Exception
	 */
	public String getGsCode(String corpId,String gsCode)throws Exception;
	
	/**
	 * 是否存在该组织机构代码
	 * @param corpId
	 * @param zzCode
	 * @return
	 * @throws Exception
	 */
	public String getZzCode(String corpId,String zzCode)throws Exception;
	
	/**
	 * 根据企业id取得企业详细信息
	 * @param corpId
	 * @return
	 * @throws Exception
	 */
	public TbCorpInfo getCorpById(String corpId)throws Exception;
	
	/**
	 * 取得企业类型下所有的子类型
	 * @param type
	 * @return
	 * @throws Exception
	 */
	public List getChildTypeList(TbCorpType type)throws Exception;
	
	/**
	 * 根据企业id和人员类型得到企业人员 具体指的是企业的法人、负责人、安全负责人三类人员
	 * @param corpId
	 * @param perType
	 * @return
	 * @throws Exception
	 */
	public TbCorpPerson getCorpPer(String corpId,String perType)throws Exception;
	

}
